bcs405a discrete mathematics